package com.deng.eventflow.core.exception;

import com.deng.eventflow.core.Processor;
import com.deng.eventflow.core.Pullable;
import com.deng.eventflow.core.constant.NextStatus;

import java.util.Iterator;

public class PullNotSupported implements Pullable {

    protected Processor m_processor;

    protected int m_position;

    public PullNotSupported(Processor p, int position) {
        super();
        m_processor = p;
        m_position = position;
    }


    @Override
    public Object pullSoft() {
        throw new UnsupportedOperationException();
    }

    @Override
    public Object pull() {
        throw new UnsupportedOperationException();
    }

    @Override
    public Object next() {
        throw new UnsupportedOperationException();
    }

    @Override
    public NextStatus hasNextSoft() {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean hasNext() {
        throw new UnsupportedOperationException();
    }

    @Override
    public Processor getProcessor() {
        return m_processor;
    }

    @Override
    public int getPosition() {
        return m_position;
    }

    @Override
    public void start() {
        // Do nothing
    }

    @Override
    public void stop() {
        // Do nothing
    }

    @Override
    public void dispose() {
        // Do nothing
    }

    @Override
    public Iterator<Object> iterator() {
        throw new UnsupportedOperationException();
    }

    @Override
    public void remove() {
        throw new UnsupportedOperationException();
    }

}
